package com.cdut.dao;


import com.cdut.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

//标记是mybatis的文件
@Repository
@Mapper
public interface UserDao {

    /**
     * 添加用户
     * @param user 传入user对象
     * @return 状态码
     */
    int addUser(User user);

    /**
     * 删除用户
     * @param uid  传入用户的id
     * @return 返回状态码
     */
    int deleteUser(@Param("uid") int uid);

    /**
     * 通过邮箱查询用户
     * @param mail 用户的邮箱
     * @return 返回的是查询的结果
     */
    User queryUserByMail(@Param("mail") String mail);

    /**
     * 查询全部的用户
     * @return 用户的list
     */
    List<User> queryUserList();

    /**
     * 更新用户的数据
     * @param user 用户对象
     * @return 状态码
     */
    int upDateUser(User user);

    /**
     * 通过用户名查询用户
     * @param name 用户名
     * @return 对象
     */
    User queryUserByName(@Param("username") String name);

    /**
     * 通过用户的id查询 用户
     * @param id 用户id
     * @return 用户
     */
    User queryUserById(@Param("uid") int id);

}
